Forth Semantics for Compiler Verification
نویسندگان
چکیده
Here we are interested in the semantics of Forth from the point of view of using Forth as a target language for a formally verified compiler for Ruth-R, a reversible sequential programming language we are currently developing. We limit out attention to those Forth operations and constructs which will be targetted by the Ruth-R compiler. To facilitate the comparison of meanings of source and target languages, we represent the semantics of Forth code by translation into a form which can be described using the ”prospective value” semantics we use for Ruth-R.
منابع مشابه
Formally Verifying a Compiler: What Does It Mean, Exactly?
Compilers, and especially optimizing compilers, are complicated programs. Bugs in compilers happen, and can lead to miscompilation: the production of wrong executable code from a correct source program. Miscompilation is documented in the literature and a concern for high-assurance software, as it endangers the guarantees obtained by source-level formal verification of programs. Compiler verifi...
متن کاملTranslation Validation for Transformations on Abstract Clocks in Synchronous Languages
Translation validation was introduced as a technique to formally verify the correctness of code generators that attempts to verify that program transformations preserve the semantics. In this work, we adopt this approach to formally verify that the clock semantics is preserved during the transformations of a synchronous data-flow compiler. We represent the clock semantics of a program and its t...
متن کاملEÆcient \reversibility" with guards and choice
We describe reversibility mechanisms incorporated into a native code Forth used an an intermediate language for a B-GSL compiler. In contrast to our previous work, information preservation is limited to what is needed to implement the B-GSL semantics for non-deterministic choice and guard. Design choices are discussed with reference to the Pentium architecture. The use of guards and choice in F...
متن کاملSimplifying Verification with Linear Types
We introduce a purely functional domain specific language, CDSL, which aims to substantially reduce the cost of producing efficient, verified file system code. Given an executable specification of a file system, the CDSL compiler generates C code and, when fully implemented, will also generate an Isabelle/HOL proof linking the specification and the C implementation. We present two operational s...
متن کاملExperiments in validating formal semantics for C
This paper reports on the design of adequate on-machine formal semantics for a certified C compiler. This compiler is an optimizing compiler, that targets critical embedded software. It is written and formally verified using the Coq proof assistant. The main structure of the compiler is very strongly conditioned by the choice of the languages of the compiler, and also by the kind of semantics o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012